This report attempts to answer a number of questions for Humanities II Charter School in The Bronx, New York City.
check.packages <- function(pkg){
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE)
sapply(pkg, require, character.only = TRUE)
}
# need local package gdal, units (udunits on arch), v8-3.14 (source on AUR), gcc-fortran, unixodbc
packages <- c('here', 'sf', 'raster', 'devtools', 'acs', 'tidycensus', 'tidyverse', 'tigris', 'sp',
'tmap', 'tmaptools', 'readxl', 'ggplot2', 'rgdal', 'spdplyr', 'RColorBrewer',
'viridis', 'viridisLite', 'rstudioapi', 'magrittr', 'getPass', "kableExtra", 'rmarkdown')
check.packages(packages)
if(!dir.exists("data")) {
dir.create("data/downloads", recursive = T)
} else if (!dir.exists("data/downloads")) {
dir.create("data/downloads")
}
if(Sys.getenv("CENSUS_API_KEY") == "") {
census_api_key(getPass("Enter U.S. census API key to install: "), install = T, overwrite = T)
readRenviron("~/.Renviron")
}
##### SET A REFERENCE VARIABLE HERE: CRS FOR ALL LAYERED PLOTS ##### use this
# CRS to transform projeections of any other layer being used when necessary
wgs84_crs <- "+proj=utm +zone=18 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
# Download shapefiles for NYC area ZCTAs to render as background layer
options(tigris_use_cache = T)
nyc_area_zips <-
zctas(cb = T, starts_with = c('070','071','072','073','074',
'075','076','100','101','102',
'103','104','105','106','107',
'108','109','110','111','112',
'113','114','115','116')) %>%
as("sf") %>%
st_transform(crs = wgs84_crs)
# get a simple block of NJ coastline to add to baselayers of maps
nj_land <- nyc_area_zips %>% filter(str_detect(GEOID10, "^07")) %>% st_union
# Filter just the ZCTAs we're interested in - Man/Bx
man_bx_zips <- nyc_area_zips %>% filter(str_detect(GEOID10, "^100|^101|^102|^103|^104"))
# Create a "fixed" shapefile of NYC School Districts - merging all of SD 10
# which is split over Bronx / Manhattan boundary. School District Shapefile
# from:
# https://www1.nyc.gov/assets/planning/download/zip/data-maps/open-data/nysd_18d.zip
#
# download.file("https://www1.nyc.gov/assets/planning/download/zip/data-maps/open-data/nysd_18d.zip",
# destfile = "data/nysd_18d.zip")
# unzip("nysd_18d.zip", exdir = "data/nysd_18d", overwrite = T)
# NYC's SD geojson file only pulls in data as characters, which leads sf to read
# them as factors which breaks all attempts at analysis. forcing NOT to factors
# brings everything in as characters, which lets us cast each attribute to
# numeric
nyc_sds <- st_read("https://data.cityofnewyork.us/resource/cuae-wd7h.geojson",
stringsAsFactors = F) %>%
st_transform(crs = wgs84_crs) %>%
mutate(school_dist = as.numeric(school_dist),
shape_area = as.numeric(shape_area),
shape_leng = as.numeric(shape_leng)) %>%
group_by(school_dist) %>%
summarize()
districts_demo_snapshot <-
read_csv("https://data.cityofnewyork.us/resource/dndd-j759.csv")
names(districts_demo_snapshot) %<>%
str_to_lower() %>%
str_replace_all("\\s", "_") %>%
str_replace_all("#", "num") %>%
str_replace_all("%", "pct") %>%
str_replace_all("\\(|\\)", "") %>%
str_replace_all("\\&", "") %>%
str_replace_all("_{2,}", "_")
districts_demo_snapshot <- districts_demo_snapshot %>%
rename(num_swd = students_with_disabilities_1,
pct_swd = students_with_disabilities_2,
num_ell = english_language_learners_1,
pct_ell = english_language_learners_2,
num_pov = poverty_1,
pct_pov = poverty_2)
districts_demo_snapshot_1718 <- districts_demo_snapshot %>%
filter(year == "2017-18")
districts_demo_snapshot_1718 <-
inner_join(nyc_sds, districts_demo_snapshot,
by = c("school_dist" = "administrative_district"))
schools_demo_snapshot <-
read_csv("https://data.cityofnewyork.us/api/views/s52a-8aq6/rows.csv?accessType=DOWNLOAD&bom=true&format=true")
names(schools_demo_snapshot) %<>%
str_to_lower() %>%
str_replace_all("\\s", "_") %>%
str_replace_all("#", "num") %>%
str_replace_all("%", "pct") %>%
str_replace_all("\\(|\\)", "") %>%
str_replace_all("\\&", "") %>%
str_replace_all("_{2,}", "_")
schools_demo_snapshot <- schools_demo_snapshot %>%
rename(num_swd = num_students_with_disabilities, pct_swd = pct_students_with_disabilities,
num_ell = num_english_language_learners, pct_ell = pct_english_language_learners,
num_pov = num_poverty, pct_pov = pct_poverty)
# Shapefile of public school points - This is an ESRI shape file of school point
# locations based on the official address. It includes some additional basic
# and pertinent information needed to link to other data sources. It also
# includes some basic school information such as Name, Address, Principal, and
# Principal’s contact information.
download.file(url = "https://data.cityofnewyork.us/download/jfju-ynrr/application%2Fzip", destfile = "data/downloads/school_points.zip")
unzip("data/downloads/school_points.zip", exdir = "data/school_points", overwrite = T)
school_points <- st_read("data/school_points/Public_Schools_Points_2011-2012A.shp")
names(school_points) %<>%
str_to_lower()
# clean up trailing unicode characters in ats_code
school_points$ats_code %<>% str_sub(1,6)
school_points <- st_transform(school_points, crs = wgs84_crs)
# add point geometry to school demographic data
schools_demo_snapshot <- inner_join(schools_demo_snapshot, school_points, by = c("dbn" = "ats_code")) %>% st_as_sf()
# filter out old years of schools demo snapshot
schools_demo_snapshot_1718 <- schools_demo_snapshot %>% filter(year == "2017-18")
# Get census tract shapefiles
# NYC tracts clipped to shoreline available here:
# https://www1.nyc.gov/site/planning/data-maps/open-data/districts-download-metadata.page
nyc_tracts <-
st_read("http://services5.arcgis.com/GfwWNkhOj9bNBqoJ/arcgis/rest/services/nyct2010/FeatureServer/0/query?where=1=1&outFields=*&outSR=4326&f=geojson")
nyc_tracts <- nyc_tracts %>% st_transform(crs = wgs84_crs)
# The below sets up the necessary shapefile and function to clip any shapefile
# to the NYC shoreline (for example, the US Census Tract boundaries, which
# extend into the Hudson and East Rivers). Passing your shapefile and nyc_water
# to st_erase will clip them to the shoreline. Curiously,
st_erase <- function(x, y) {
st_difference(x, st_union(st_combine(y)))
}
bx_water <- tigris::area_water("NY", county = "Bronx", class = "sf")
bk_water <- tigris::area_water("NY", county = "Kings", class = "sf")
qn_water <- tigris::area_water("NY", county = "Queens", class = "sf")
st_water <- tigris::area_water("NY", county = "Richmond", class = "sf")
ny_water <- tigris::area_water("NY", county = "New York", year = 2017, class = "sf")
nyc_water <-
st_union(c(bx_water$geometry,
bk_water$geometry,
qn_water$geometry,
st_water$geometry,
ny_water$geometry)) %>%
st_transform(crs = wgs84_crs)
# NYC School Zones - at https://data.cityofnewyork.us/Education/2017-2018-School-Zones/ghq4-ydq4
nyc_hs_zones <- read_sf("https://data.cityofnewyork.us/resource/9hw3-gi34.geojson") %>%
st_transform(., crs = wgs84_crs)
nyc_ms_zones <- read_sf("https://data.cityofnewyork.us/resource/jxpn-gg5q.geojson") %>%
st_transform(., crs = wgs84_crs)
nyc_es_zones <- read_sf("https://data.cityofnewyork.us/resource/xehh-f7pi.geojson") %>%
st_transform(., crs = wgs84_crs)
# NYC bus routes
bus_url <- "http://faculty.baruch.cuny.edu/geoportal/data/nyc_transit/may2018/bus_routes_nyc_may2018.zip"
download.file(bus_url, "data/downloads/bus_routes_nyc_may2018.zip", cacheOK = T)
unzip("data/downloads/bus_routes_nyc_may2018.zip", exdir = "data/bus_routes", overwrite = T)
nyc_bus_routes <- st_read("data/bus_routes/bus_routes_nyc_may2018.shp")
nyc_bus_routes <- st_transform(nyc_bus_routes, crs = wgs84_crs)
# NYC bus shelters
nyc_bus_shelters <-
st_read("https://data.cityofnewyork.us/api/geospatial/qafz-7myz?method=export&format=GeoJSON") %>%
st_transform(., crs=wgs84_crs)
# nyc_bus_shelters$location <- str_to_title(nyc_bus_shelters$location, locale = "en")
nyc_bus_shelters %<>% mutate(location = str_to_title(nyc_bus_shelters$location, locale = "en"),
coords = paste(latitude, longitude, sep = ", "))
# NYC Neighborhood Tabulation Areas (NTAs):
nyc_ntas <- st_read("https://data.cityofnewyork.us/resource/93vf-i5bz.geojson") %>%
st_transform(., crs = wgs84_crs)
manhattan_sf <- nyc_ntas %>% filter(boroname == "Manhattan") %>% st_union()
bronx_sf <- nyc_ntas %>% filter(boroname == "Bronx") %>% st_union()
brooklyn_sf <- nyc_ntas %>% filter(boroname == "Brooklyn") %>% st_union()
queens_sf <- nyc_ntas %>% filter(boroname == "Queens") %>% st_union()
staten_sf <- nyc_ntas %>% filter(boroname == "Staten Island") %>% st_union()
nyc_sf <- st_union(c(manhattan_sf, bronx_sf, queens_sf, brooklyn_sf, staten_sf))
# set a bbox for common views of manhattan and bronx together
man_bx_bbox <- st_bbox(st_union(manhattan_sf, bronx_sf))
# HUM II RECRUITMENT DATA ------------------------------------------------------
# This project requires the spreadsheet "historical_recruitment_data.xlsx" - HUM
# II recruitment data.
# Read in the data from each sheet
sheet_1 <- read_xlsx("data/historical_recruitment_data.xlsx", sheet = 1)
sheet_2 <- read_xlsx("data/historical_recruitment_data.xlsx", sheet = 2)
sheet_3 <- read_xlsx("data/historical_recruitment_data.xlsx", sheet = 3)
# The below three commands clean and standardize the colnames for each sheet's
# vars
str_to_lower(str_replace_all(names(sheet_1),
"[^[:alnum:]]|[^[:ascii:]]", "_")) %>%
str_replace_all("[:punct:]+", "_") %>%
str_replace_all("^[:punct:]|[:punct:]$", "") -> names(sheet_1)
str_to_lower(str_replace_all(names(sheet_2),
"[^[:alnum:]]|[^[:ascii:]]", "_")) %>%
str_replace_all("[:punct:]+", "_") %>%
str_replace_all("^[:punct:]|[:punct:]$", "") -> names(sheet_2)
str_to_lower(str_replace_all(names(sheet_3),
"[^[:alnum:]]|[^[:ascii:]]", "_")) %>%
str_replace_all("[:punct:]+", "_") %>%
str_replace_all("^[:punct:]|[:punct:]$", "") -> names(sheet_3)
# Select just the cols we need - location and application pd. Also commonly
# format zip codes (sheet two was numeric, sheets 1 and 3 were strings with
# trailing nonsignificant 0)
sheet_1 %>% mutate(studentaddress_zip =
str_sub(as.character(studentaddress_zip),
1, 5)) -> sheet_1_trimmed
sheet_2 %>% mutate(studentaddress_zip =
str_sub(as.character(studentaddress_zip),
1, 5)) -> sheet_2_trimmed
sheet_3 %>% mutate(studentaddress_zip =
str_sub(as.character(studentaddress_zip),
1, 5)) -> sheet_3_trimmed
# Combine the three sheets
bind_rows(sheet_1_trimmed,
sheet_2_trimmed,
sheet_3_trimmed) -> recruitment_data # used to be recruitment_data_man_bx_merged
# Clean up unneeded vars
rm(list = c("sheet_1",
"sheet_1_trimmed",
"sheet_2",
"sheet_2_trimmed",
"sheet_3",
"sheet_3_trimmed"))
# Strip extraneous year from enrollment period and rename to "year", rename
# studentaddress_zip to zip, then cast year as numeric
recruitment_data %<>%
mutate(enrollment_period = str_sub(enrollment_period, 1, 4)) %>%
rename(year = enrollment_period, zip = studentaddress_zip) %>%
mutate(year = as.numeric(year)) %>%
filter(!is.na(studentaddress_coordinates)) %>% # to remove one pesky record in 2018...
separate(studentaddress_coordinates, c("lat", "long"), sep = ",") %>%
mutate(long = as.numeric(long), lat = as.numeric(lat))
# One hand fix to correct a typo in data entry
recruitment_data[recruitment_data$zip == "1.047", "zip"] <- "10473"
# recruitment data for manhattan and bx only
recruitment_data_man_bx <- recruitment_data %>%
filter(zip %in% seq(10000, 10299) | zip %in% seq(10400, 10499))
# convert recruitment_data to simple features file
recruitment_data <- recruitment_data %>% st_as_sf(coords = c("long", "lat"), crs = wgs84_crs)
# SF of application points
application_points <- recruitment_data %>%
mutate(registered = ifelse(!is.na(registration_completed_date), T, F))
# SF of registration points - just those that filtered as registered
registration_points <- application_points %>%
dplyr::select(-registration_completed_date) %>% filter(registered == T) %>%
dplyr::select(-registered)
One question posed was what strategies could be employed to better target ELL recruitment efforts. This report reviewed the data from NYC’s Department of Education on enrollment statistics in 32 districts, focusing on those in Manhattan and The Bronx.
# Percentile formatting for text below and to set percentile for slicing data below
schools_percentile <- 0.95
if((schools_percentile * 100) %% 10 == 1) {
sch_pctile_ord <- paste(as.character(schools_percentile * 100), "st", sep="")
} else if ((schools_percentile * 100) %% 10 == 2) {
sch_pctile_ord <- paste(as.character(schools_percentile * 100), "nd", sep="")
} else if ((schools_percentile * 100) %% 10 == 3) {
sch_pctile_ord <- paste(as.character(schools_percentile * 100), "rd", sep="")
} else {
sch_pctile_ord <- paste(as.character(schools_percentile * 100), "th", sep="")
}
Below is the distribution of English Language Learner recruitment among districts and schools in New York, focusing on Manhattan and the Bronx. The second plot highlights those schools recruiting ELL students at the 95th percentile relative to all schools in New York.
tmap_mode("plot")
plot1 <- tm_shape(nyc_area_zips, bbox = c(manhattan_sf, bronx_sf)) +
tm_fill(col = "grey90") +
tm_shape(districts_demo_snapshot_1718, point.per = "feature") +
tm_borders() +
tm_fill(col = "pct_ell", title = "% ELL Enrollment, 2017-18", palette = "BuGn") +
tm_text("school_dist") +
tm_layout(legend.position = c("left", "top"),
title = "Percentage of ELL enrollment by district, 2017-18",
title.bg.color = "white", title.bg.alpha = 0.6)
# Plot schools in determined percentile for ELL enrollment in Manhattan and The Bronx:
high_ell_schools_man_bx <- schools_demo_snapshot_1718 %>%
filter(pct_ell > quantile(.$pct_ell, schools_percentile)) %>%
filter(boro %in% c("X", "M")) %>%
.[, c("dbn", "school_name", "total_enrollment", "pct_ell")]
plot2 <- tm_shape(nyc_area_zips, bbox = c(manhattan_sf, bronx_sf)) +
tm_fill(col = "grey90") +
tm_shape(nyc_sds) + tm_borders() + tm_fill(alpha = 0) +
tm_shape(high_ell_schools_man_bx) +
tm_symbols(col = "red",
size = "pct_ell",
title.size = "% ELL enrollment",
perceptual = T,
sizes.legend = c(40,60,80,100), legend.size.is.portrait = F) +
tm_layout(legend.position = c("right", "bottom"),
legend.bg.color = "white", legend.bg.alpha = 1, legend.frame = "black",
title = paste(sch_pctile_ord,
"percentile ELL-enrolling schools, Manhattan/Bronx"),
title.position = c("center", "top"),
title.bg.color = "white", title.bg.alpha = 0.6)
tmap_arrange(plot1, plot2, ncol = 2, asp = 1)
One angle for targetting recruitment efforts is examining the distribution of “limited English proficiency” households in New York. The American Community Survey tabulates limited English proficiency households by census tract, which are defined as households that do not solely speak English, in which at least one member is reported by the respondent to speak English “not very well.”
# GET 2017 5YR ACS HOUSEHOLD LANGUAGE SPOKEN BY LIMITED ENGLISH SPEAKING STATUS
options(tigris_use_cache = TRUE)
lep_hh_by_tract_C16002 <-
get_acs(geography = "tract", year = 2017, state = "NY",
county = c("New York", "Bronx", "Richmond", "Queens", "Kings"),
output = "wide",
geometry = T,
variables = c(total_hh = "C16002_001E",
spanish_lep = "C16002_004E",
indeur_lep = "C16002_007E",
asnpacisl_lep = "C16002_010E",
otherlang_lep = "C16002_013E",
total_pop = "B01003_001E")) %>%
st_transform(crs = wgs84_crs) %>%
st_erase(., nyc_water)
# get County name from longform tract name in NAME, get boro name from county names
# Don't need this anymore since adding boro
lep_hh_by_tract_C16002 %<>%
mutate(county_name = str_extract(NAME, "((?<=\\d, )[:graph:]+).+(?=\\sCounty)"))
# break out the data from the sf object and summarize across rows for each
# language's limited english proficiency respondents. Make sure to not introduce
# NaN's by dividing by zero!
total_lep_by_tract <- lep_hh_by_tract_C16002 %>% as_tibble() %>%
# Filter out first percentile by pop tracts (often parks and cemeteries)
filter(total_pop >= quantile(total_pop, 0.1)) %>%
# get a variable summing LEP counts of each language group as total_lep
transmute(total_lep = select(., spanish_lep, indeur_lep,
asnpacisl_lep, otherlang_lep) %>% rowSums(),
# and one for percentage. If total_lep is 0, hard enter 0% for pct
pct_lep = ifelse(total_lep == 0, 0, 100 * total_lep / total_hh),
#keep GEOID variable
GEOID = GEOID)
# merge the data back into the geometry
lep_hh_by_tract_C16002 <- inner_join(lep_hh_by_tract_C16002,
total_lep_by_tract,
by = c("GEOID" = "GEOID"))
# prep for plotting: add school districts for each tract.
lep_hh_by_tract_C16002 <- st_join(lep_hh_by_tract_C16002, nyc_sds)
# filter to just Manhattan and Bronx
lep_hh_by_tract_C16002_manbx <- filter(lep_hh_by_tract_C16002,
county_name %in% c("New York", "Bronx"))
The below interactive map shows the percentage of limited English proficiency households per census tract in NYC, with school district boundaries overlaid. Note that this calculation has taken out of consideration those tracts with extremely low (first percentile and below) total tract populations. While some of those tracts have high proportions of limited English proficiency households, the total number of people living in them is extremely small, and most of them represent land that is largely a park or cemetery.
# Plot map of LEP household proportions by tract
tmap_mode("view")
tm_basemap(leaflet::providers$CartoDB.PositronNoLabels) +
tm_shape(nyc_sds, point.per = "feature", bbox = man_bx_bbox) +
tm_borders(alpha = 0.8) +
tm_text("school_dist") +
tm_shape(lep_hh_by_tract_C16002) +
tm_borders(alpha = 0.2) +
tm_fill(col = "pct_lep",
palette = "Reds",
title = "% LEP Households",
id = "NAME",
showNA = F,
popup.vars = c("Tract ID"="GEOID", "Name"="NAME",
"School District"="school_dist",
"Total Households"="total_hh",
"% LEP Households"="pct_lep"))
# # Hidden: Plot mode available for printed version of report.
# tmap_mode("plot")
# tm_shape(nyc_area_zips, bbox = c(manhattan_sf, bronx_sf)) + tm_fill(col = "grey90") +
# tm_shape(lep_tracts) +
# tm_fill("pct_lep", palette = "Reds", style = "pretty",
# title = "% LEP households\nby census Tract") +
# tm_borders(alpha = 0.1) +
# tm_credits("Source: 2013-2017 ACS Five-Year Estimates",
# bg.color = "white", bg.alpha = 0.7, position = c("left", "bottom")) +
# tm_layout(legend.position = c("left", "top"),
# legend.height = .4,
# legend.width = .8,
# legend.title.size = 1,
# legend.title.fontface = "bold
pct <- 0.75
high_lep_hh_manbx <-
lep_hh_by_tract_C16002_manbx %>%
filter(pct_lep >= quantile(.$pct_lep, pct))
# Get all bus shelters in NYC that are in pctile-th-percentile tracts by proportion
# of LEP households
#
# high_lep_bus_shelters_manbx <-
# nyc_bus_shelters[high_lep_hh_manbx, ]
high_lep_bus_shelters_manbx <- st_intersection(nyc_bus_shelters, high_lep_hh_manbx)
The following 381 bus shelters are located in the tracts in Manhattan and the Bronx with the highest (75th percentile) proportions of limited english proficiency. Again, census tracts with extremely low population (often parks, cemeteries and other such areas) have been removed prior to calculation.
tmap_mode("view")
tm_basemap(leaflet::providers$CartoDB.PositronNoLabels) +
tm_shape(nyc_sds, point.per = "feature",
bbox = st_bbox(filter(high_lep_bus_shelters_manbx, boro_name == "Bronx"))) +
tm_borders(alpha = 0.8) +
tm_text("school_dist") +
tm_shape(high_lep_hh_manbx) +
tm_borders(alpha = 0.2) +
tm_fill(col = "pct_lep",
palette = "Reds",
title = "% LEP Households",
id = "NAME",
showNA = F,
popup.vars = c("Tract ID"="GEOID", "Name"="NAME",
"School District"="school_dist",
"Total Households"="total_hh",
"% LEP Households"="pct_lep")) +
tm_shape(high_lep_bus_shelters_manbx) +
tm_dots(col = "#42f4e2",
id = "shelter_id",
popup.vars = c("Location" = "location",
"Coordinates" = "coords",
"Nearby LEP Households" = "total_lep",
"% LEP households in Tract" = "pct_lep"))
shelter_table <- high_lep_bus_shelters_manbx %>% as_tibble() %>%
transmute(`Shelter ID` = shelter_id, Location = location,
`At or Between` = str_to_title(at_between, locale = "en"), Coordinates = coords,
`LEP Households` = total_lep) %>% arrange(desc(`LEP Households`))
kable(shelter_table) %>%
kable_styling(bootstrap_options = "striped") %>%
scroll_box(height = "300px")
| Shelter ID | Location | At or Between | Coordinates | LEP Households |
|---|---|---|---|---|
| BS4008 | Rutgers St @ E. Broadway | @ E. Broadway | 40.71392, -73.99008 | 2011 |
| MN01282 | Madison St | Pike St | 40.712399, -73.991971 | 2011 |
| MN01283 | Madison St | Pike St | 40.712556, -73.992098 | 2011 |
| MN01378 | Madison St | Clinton St | 40.712958, -73.987285 | 2011 |
| MN01451 | Pike St | Division St | 40.71425, -73.992449 | 2011 |
| MN0640 | Madison St | Rutgers St | 40.712594, -73.989583 | 2011 |
| BS4008 | Rutgers St @ E. Broadway | @ E. Broadway | 40.71392, -73.99008 | 2011 |
| MN01282 | Madison St | Pike St | 40.712399, -73.991971 | 2011 |
| MN01283 | Madison St | Pike St | 40.712556, -73.992098 | 2011 |
| MN01378 | Madison St | Clinton St | 40.712958, -73.987285 | 2011 |
| MN01451 | Pike St | Division St | 40.71425, -73.992449 | 2011 |
| MN0640 | Madison St | Rutgers St | 40.712594, -73.989583 | 2011 |
| BS4008 | Rutgers St @ E. Broadway | @ E. Broadway | 40.71392, -73.99008 | 2011 |
| MN01282 | Madison St | Pike St | 40.712399, -73.991971 | 2011 |
| MN01283 | Madison St | Pike St | 40.712556, -73.992098 | 2011 |
| MN01378 | Madison St | Clinton St | 40.712958, -73.987285 | 2011 |
| MN01451 | Pike St | Division St | 40.71425, -73.992449 | 2011 |
| MN0640 | Madison St | Rutgers St | 40.712594, -73.989583 | 2011 |
| MN01447 | Pike St | Madison St | 40.712727, -73.992683 | 1761 |
| MN01447 | Pike St | Madison St | 40.712727, -73.992683 | 1761 |
| MN01447 | Pike St | Madison St | 40.712727, -73.992683 | 1761 |
| MN0930 | Amsterdam Av | W 178 St | 40.845924, -73.932635 | 1664 |
| MN9028 | Broadway | Dyckman St | 40.86557, -73.926832 | 1370 |
| MN0027 | Bowery | Canal St | 40.715986, -73.996399 | 1256 |
| MN01010 | Broadway | W 162 St | 40.837042, -73.942939 | 1242 |
| MN01043 | Broadway | W 160 St | 40.835774, -73.943867 | 1242 |
| MN01112 | Broadway | W 164 St | 40.838253, -73.942061 | 1242 |
| MN01238 | Broadway | W 159 St | 40.835476, -73.943611 | 1242 |
| MN01301 | Amsterdam Av | W 161 St | 40.835169, -73.940188 | 1242 |
| MN0285 | Amsterdam Av | W 161 St | 40.835522, -73.94024 | 1242 |
| MN01159 | Bowery | Bayard St | 40.715146, -73.996565 | 1175 |
| MN01583 | Allen St | Hester St | 40.716414, -73.99205 | 1175 |
| MN01592 | Allen St | Grand St | 40.717164, -73.991193 | 1175 |
| MN01462 | Broadway | Isham St | 40.867927, -73.920057 | 1133 |
| MN0326 | Broadway | Isham St | 40.867912, -73.920105 | 1133 |
| MN01203 | Essex St | Grand St | 40.716964, -73.988895 | 1038 |
| MN01203 | Essex St | Grand St | 40.716964, -73.988895 | 1038 |
| MN01020 | Broadway | W 171 St | 40.843441, -73.939014 | 1014 |
| MN01031 | Amsterdam Av | W 172 St | 40.842153, -73.935393 | 1014 |
| MN01119 | Ft Washington Av | W 171 St | 40.844263, -73.940883 | 1014 |
| MN01120 | Broadway | W 172 St | 40.843755, -73.939214 | 1014 |
| MN01221 | Broadway | W 170 St | 40.842671, -73.939367 | 1014 |
| MN0011 | Pearl St | Robert F Wagner Pl | 40.710473, -74.00077 | 980 |
| MN01615 | Madison St | Oliver St | 40.711878, -73.997931 | 980 |
| MN0011 | Pearl St | Robert F Wagner Pl | 40.710473, -74.00077 | 980 |
| MN01615 | Madison St | Oliver St | 40.711878, -73.997931 | 980 |
| MN01116 | Delancey St | Columbia St | 40.716474, -73.980305 | 948 |
| MN01144 | E Houston St | Columbia St | 40.719632, -73.978409 | 948 |
| MN01201 | Columbia St | Rivington St | 40.717729, -73.979761 | 948 |
| MN0287 | Amsterdam Av | W 181 St | 40.848314, -73.930898 | 935 |
| MN0900 | Amsterdam Av | W 188 St | 40.852308, -73.92798 | 935 |
| BX03433 | W Fordham Rd | Sedgwick Av | 40.862668, -73.908523 | 933 |
| MN01000 | St Nicholas Av | W 190 St | 40.854695, -73.929955 | 930 |
| MN01109 | Broadway | W 189 St | 40.855098, -73.933524 | 930 |
| MN01186 | Broadway | W 189 St | 40.855587, -73.933088 | 930 |
| MN01721 | Broadway | W 190 St | 40.856262, -73.933028 | 930 |
| MN0937 | St Nicholas Av | W 192 St | 40.856351, -73.928754 | 930 |
| MN9031 | Broadway | W 187 St | 40.854415, -73.933479 | 930 |
| MN0890 | Ft Washington Av | W 175 St | 40.846803, -73.939834 | 897 |
| BX03048 | Bedford Park Blvd | Bainbridge Av | 40.869926, -73.885387 | 896 |
| BX03077 | 3 Av | E 154 St | 40.818755, -73.914368 | 824 |
| BX03162 | Morris Av | E 153 St & E 154 St | 40.820479, -73.921232 | 824 |
| MN01005 | 3 Av | E 106 St | 40.79182, -73.944332 | 797 |
| MN01016 | 2 Av | E 106 St | 40.790278, -73.942834 | 797 |
| MN01254 | E 106 St | 2 Av | 40.790852, -73.942721 | 797 |
| MN01347 | E 106 St | 1 Av | 40.78989, -73.94042 | 797 |
| MN01585 | 2 Av | E 106 St | 40.790869, -73.942429 | 797 |
| MN0884 | E 106 St | 3 Av | 40.791548, -73.944363 | 797 |
| MN01002 | 3 Av | E 102 St | 40.789307, -73.94616 | 786 |
| MN01575 | 2 Av | E 100 St | 40.787229, -73.945105 | 786 |
| MN0409 | 3 Av | E 99 St | 40.787422, -73.947546 | 786 |
| MN01106 | Ft George Av | Ft George Hill | 40.85707, -73.927983 | 782 |
| BX03118 | Allerton Av | White Plains Rd | 40.865343, -73.867044 | 781 |
| BX0072 | W Kingsbridge Rd | Jerome Av | 40.867613, -73.89762 | 770 |
| BX03238 | University Av | W 190 St | 40.865486, -73.90306 | 770 |
| BX03516 | W Fordham Rd | Jerome Av | 40.862893, -73.901764 | 770 |
| BX03346 | Ogden Av | W 168 St | 40.838267, -73.926453 | 737 |
| MN01053 | Broadway | W 145 St | 40.826715, -73.950488 | 724 |
| MN01595 | W 145 St | Riverside Dr | 40.826846, -73.95173 | 724 |
| MN01723 | W 145 St | Broadway | 40.826054, -73.949862 | 724 |
| MN0280 | Amsterdam Av | W 143 St | 40.82375, -73.948843 | 724 |
| MN0281 | Amsterdam Av | W 145 St | 40.825021, -73.947912 | 724 |
| MN0283 | W 145 St | Amsterdam Av | 40.825245, -73.947881 | 724 |
| MN0335 | Broadway | W 145 St | 40.826704, -73.950029 | 724 |
| BX03324 | W Kingsbridge Rd | Kingsbridge Terrace | 40.870292, -73.904182 | 723 |
| BX03103 | E 138 St | Willis Av | 40.809357, -73.923201 | 717 |
| BX03166 | Willis Av | E 138 St | 40.809344, -73.922884 | 717 |
| BX03089 | Prospect Av | E 149 St | 40.812553, -73.904233 | 716 |
| BX03089 | Prospect Av | E 149 St | 40.812553, -73.904233 | 716 |
| BX03351 | E Fordham Rd | Walton Av | 40.862479, -73.900576 | 716 |
| BX03515 | E Fordham Rd | Walton Av | 40.862464, -73.900526 | 716 |
| BX03009 | Morris Av | E 165 St | 40.829431, -73.916238 | 708 |
| BX0062 | E 167 St | River Av | 40.835512, -73.920933 | 705 |
| BX0063 | E 167 St | River Av | 40.835921, -73.921583 | 705 |
| BX0064 | Grand Concourse | E 167 St | 40.834259, -73.918322 | 705 |
| BX03581 | Grand Concourse | Mcclellan St | 40.833288, -73.919202 | 705 |
| MN01047 | W 135 St | Broadway | 40.820426, -73.955559 | 694 |
| MN01354 | Broadway | W 138 St | 40.821955, -73.953966 | 694 |
| MN01359 | Broadway | W 135 St | 40.820395, -73.954633 | 694 |
| MN01360 | W 135 St | Broadway | 40.819824, -73.9547 | 694 |
| MN01578 | Amsterdam Av | W 138 St | 40.820559, -73.951165 | 694 |
| MN01614 | W 135 St | Riverside Dr | 40.821104, -73.957165 | 694 |
| MN0340 | Broadway Between Hamilton & W 137 St | Between Hamilton & W 137 St | 40.82132, -73.95394 | 694 |
| MN01047 | W 135 St | Broadway | 40.820426, -73.955559 | 694 |
| MN01354 | Broadway | W 138 St | 40.821955, -73.953966 | 694 |
| MN01359 | Broadway | W 135 St | 40.820395, -73.954633 | 694 |
| MN01360 | W 135 St | Broadway | 40.819824, -73.9547 | 694 |
| MN01578 | Amsterdam Av | W 138 St | 40.820559, -73.951165 | 694 |
| MN01614 | W 135 St | Riverside Dr | 40.821104, -73.957165 | 694 |
| MN0340 | Broadway Between Hamilton & W 137 St | Between Hamilton & W 137 St | 40.82132, -73.95394 | 694 |
| BX03017 | Crotona Av | E 187 St | 40.853679, -73.883847 | 692 |
| BX03547 | Crotona Av | E 183 St | 40.851604, -73.88502 | 692 |
| BX03017 | Crotona Av | E 187 St | 40.853679, -73.883847 | 692 |
| BX03547 | Crotona Av | E 183 St | 40.851604, -73.88502 | 692 |
| BX03001 | E 149 St | Prospect Av & Union Av | 40.812469, -73.904907 | 691 |
| BX03003 | Prospect Av | E 152 St | 40.814945, -73.903648 | 691 |
| BX03481 | E 149 St | Tinton Av | 40.812848, -73.906744 | 691 |
| BX03001 | E 149 St | Prospect Av & Union Av | 40.812469, -73.904907 | 691 |
| BX03003 | Prospect Av | E 152 St | 40.814945, -73.903648 | 691 |
| BX03481 | E 149 St | Tinton Av | 40.812848, -73.906744 | 691 |
| BX03015 | E 174 St | Harrod Av | 40.834168, -73.875149 | 679 |
| BX0456 | E 174 St | Harrod Av | 40.834029, -73.874901 | 679 |
| BX0457 | E 174 St | Manor Av | 40.833888, -73.877218 | 679 |
| BX03085 | 3 Av | E 156 St | 40.819839, -73.913426 | 678 |
| BX03267 | Sedgwick Av | W 197 St | 40.872673, -73.901989 | 673 |
| MN01494 | Ft Washington Av | W 164 St | 40.838823, -73.943718 | 670 |
| MN0293 | Ft Washington Av | W 165 St | 40.83995, -73.943251 | 670 |
| MN0910 | Ft Washington Av | W 162 St | 40.837521, -73.944233 | 670 |
| MN01080 | Av D | E Houston St | 40.720377, -73.97833 | 665 |
| MN01149 | Av D | E 5 St | 40.722019, -73.977124 | 665 |
| MN01080 | Av D | E Houston St | 40.720377, -73.97833 | 665 |
| MN01149 | Av D | E 5 St | 40.722019, -73.977124 | 665 |
| MN01484 | W 207 St | 10 Av | 40.864012, -73.918118 | 648 |
| MN01485 | W 207 St | 10 Av | 40.864032, -73.918155 | 648 |
| MN01486 | W 207 St | 10 Av | 40.86444, -73.918599 | 648 |
| MN01487 | W 207 St | 10 Av | 40.864464, -73.918636 | 648 |
| MN01484 | W 207 St | 10 Av | 40.864012, -73.918118 | 648 |
| MN01485 | W 207 St | 10 Av | 40.864032, -73.918155 | 648 |
| MN01486 | W 207 St | 10 Av | 40.86444, -73.918599 | 648 |
| MN01487 | W 207 St | 10 Av | 40.864464, -73.918636 | 648 |
| BX03403 | Hunts Point Av | Southern Blvd | 40.820821, -73.891186 | 636 |
| BX03403 | Hunts Point Av | Southern Blvd | 40.820821, -73.891186 | 636 |
| BX03164 | Willis Av | E 144 St | 40.813052, -73.919862 | 629 |
| BX03337 | 3rd Ave | @ E 149th St | 40.815621, -73.918261 | 629 |
| BX03476 | 3 Av | E 144 St | 40.81384, -73.921684 | 629 |
| BX03564 | St Anns Av | E 146 St | 40.812135, -73.914305 | 629 |
| BX03165 | Willis Av | E 144 St | 40.81275, -73.920392 | 624 |
| BX0287 | Morris Av | E 161 St | 40.82583, -73.91821 | 609 |
| BX03142 | E 161 St | Concourse Village East | 40.825388, -73.918236 | 609 |
| BX03440 | Concourse Village East | E 158 St | 40.824061, -73.919189 | 609 |
| BX0287 | Morris Av | E 161 St | 40.82583, -73.91821 | 609 |
| BX03142 | E 161 St | Concourse Village East | 40.825388, -73.918236 | 609 |
| BX03440 | Concourse Village East | E 158 St | 40.824061, -73.919189 | 609 |
| BX03167 | Bainbridge Av | E Gun Hill Rd | 40.880678, -73.878746 | 603 |
| BX03299 | E Mosholu Pkwy South | Jerome Av | 40.87956, -73.885606 | 603 |
| BX03314 | Bainbridge Av | E 210 St | 40.879902, -73.878766 | 603 |
| BX03315 | Bainbridge Av | E 210 St | 40.879963, -73.878747 | 603 |
| BX03562 | W Mosholu Pkwy South | Jerome Av | 40.879154, -73.885631 | 603 |
| BX03232 | W Fordham Rd | Grand Av & University Av | 40.862655, -73.904024 | 594 |
| BX03051 | Bainbridge Av | E 204 St | 40.873579, -73.879595 | 574 |
| BX03130 | Bainbridge Av | E 210 St | 40.879379, -73.879171 | 574 |
| BX0352 | Bainbridge Av | E 206 St | 40.874904, -73.879697 | 574 |
| BX0069 | University Av | W Fordham Rd | 40.862962, -73.904945 | 570 |
| BX03149 | W Fordham Rd | Sedgwick Av | 40.862897, -73.908585 | 570 |
| BX03237 | W Kingsbridge Rd | University Av | 40.868276, -73.901474 | 570 |
| BX03402 | W Kingsbridge Rd | University Av | 40.868289, -73.901514 | 570 |
| BX03432 | W Fordham Rd | University Av | 40.862864, -73.905412 | 570 |
| BX03514 | W Fordham Rd | University Av | 40.862862, -73.905356 | 570 |
| BX03543 | W Fordham Rd | Sedgwick Av | 40.862929, -73.908226 | 570 |
| BX9025 | University Av | W 192 St | 40.867173, -73.902095 | 570 |
| BX03023 | Grand Concourse | E Tremont Av | 40.849659, -73.905518 | 563 |
| BX0309 | Grand Concourse | E Burnside Av | 40.852055, -73.903581 | 563 |
| BX03228 | Grand Concourse | E 180 St | 40.853719, -73.902245 | 563 |
| BX03023 | Grand Concourse | E Tremont Av | 40.849659, -73.905518 | 563 |
| BX0309 | Grand Concourse | E Burnside Av | 40.852055, -73.903581 | 563 |
| BX03228 | Grand Concourse | E 180 St | 40.853719, -73.902245 | 563 |
| BX03578 | Webster Av | E 204 St | 40.870958, -73.877355 | 559 |
| BX03598 | Bainbridge Av | E 204 St | 40.873534, -73.879332 | 559 |
| BX9020 | Webster Av | E 204 St | 40.871286, -73.876456 | 559 |
| BX0078 | E Fordham Rd | Tiebout Av | 40.861992, -73.895047 | 555 |
| MN01099 | E 116 St | 2 Av | 40.797251, -73.938086 | 551 |
| MN01209 | E 116 St | 3 Av | 40.797731, -73.939763 | 551 |
| BX03045 | Grand Concourse | E 172 St | 40.841118, -73.912354 | 547 |
| BX03391 | Morris Av | E 170 St | 40.838086, -73.91138 | 547 |
| BX03505 | Morris Av | E 170 St | 40.838176, -73.911103 | 547 |
| BX03169 | E 163 St | 3 Av | 40.82406, -73.909008 | 543 |
| BX03585 | Melrose Av | E 162 St | 40.824658, -73.913481 | 543 |
| BX03586 | E 161 St | Melrose Av | 40.824448, -73.914322 | 543 |
| BX03589 | Elton Av | E 161 St | 40.823769, -73.911488 | 543 |
| BX03591 | Melrose Av | E 160 St | 40.823722, -73.914227 | 543 |
| BX03169 | E 163 St | 3 Av | 40.82406, -73.909008 | 543 |
| BX03585 | Melrose Av | E 162 St | 40.824658, -73.913481 | 543 |
| BX03586 | E 161 St | Melrose Av | 40.824448, -73.914322 | 543 |
| BX03589 | Elton Av | E 161 St | 40.823769, -73.911488 | 543 |
| BX03591 | Melrose Av | E 160 St | 40.823722, -73.914227 | 543 |
| BX03169 | E 163 St | 3 Av | 40.82406, -73.909008 | 543 |
| BX03585 | Melrose Av | E 162 St | 40.824658, -73.913481 | 543 |
| BX03586 | E 161 St | Melrose Av | 40.824448, -73.914322 | 543 |
| BX03589 | Elton Av | E 161 St | 40.823769, -73.911488 | 543 |
| BX03591 | Melrose Av | E 160 St | 40.823722, -73.914227 | 543 |
| BX03229 | Grand Concourse | E 182 St | 40.856312, -73.90031 | 539 |
| BX03445 | Grand Concourse | Field Pl | 40.858791, -73.898836 | 539 |
| BX03011 | E 138 St | Alexander Av | 40.809845, -73.924861 | 534 |
| BX03549 | Lincoln Av | E 138 St | 40.810712, -73.927185 | 534 |
| BX03062 | W Burnside Av | Loring Pl South | 40.853788, -73.914383 | 531 |
| BX03062 | W Burnside Av | Loring Pl South | 40.853788, -73.914383 | 531 |
| BX03104 | E 138 St | Willis Av | 40.808883, -73.922595 | 531 |
| BX03163 | Willis Av | E 138 St | 40.808896, -73.922861 | 531 |
| BX03319 | E 170 St | Morris Av | 40.837647, -73.911202 | 512 |
| BX03340 | Morris Av | E 169 St | 40.835514, -73.912667 | 512 |
| BX03418 | E 170 St | Clay Av | 40.837051, -73.908246 | 512 |
| BX03559 | E 170 St | Findlay Av | 40.83714, -73.909857 | 512 |
| BX03065 | University Av | W Burnside Av | 40.854627, -73.911226 | 505 |
| BX03068 | University Av | W Burnside Av | 40.853382, -73.912345 | 505 |
| BX03065 | University Av | W Burnside Av | 40.854627, -73.911226 | 505 |
| BX03068 | University Av | W Burnside Av | 40.853382, -73.912345 | 505 |
| BX03226 | Grand Concourse | E 182 St | 40.8558, -73.901267 | 497 |
| BX0306 | University Av | W Tremont Av | 40.850188, -73.9155 | 489 |
| BX03234 | Macombs Road | W 175 St | 40.848516, -73.916287 | 489 |
| BX0325 | University Av | W 176 St | 40.84898, -73.917252 | 489 |
| BX03294 | University Av | W 174 St | 40.847007, -73.920097 | 489 |
| BX0306 | University Av | W Tremont Av | 40.850188, -73.9155 | 489 |
| BX03234 | Macombs Road | W 175 St | 40.848516, -73.916287 | 489 |
| BX0325 | University Av | W 176 St | 40.84898, -73.917252 | 489 |
| BX03294 | University Av | W 174 St | 40.847007, -73.920097 | 489 |
| BX03262 | E 180 St | Boston Rd | 40.842938, -73.878529 | 489 |
| BX03295 | Boston Rd | E 180 St | 40.842367, -73.878443 | 489 |
| BX9001 | E Tremont Av | Boston Rd | 40.840282, -73.879672 | 489 |
| BX03262 | E 180 St | Boston Rd | 40.842938, -73.878529 | 489 |
| BX03295 | Boston Rd | E 180 St | 40.842367, -73.878443 | 489 |
| BX9001 | E Tremont Av | Boston Rd | 40.840282, -73.879672 | 489 |
| BX03456 | Grand Concourse | Morris Av | 40.846938, -73.909083 | 487 |
| BX03464 | Grand Concourse | E 174 St | 40.84557, -73.910997 | 487 |
| BX03456 | Grand Concourse | Morris Av | 40.846938, -73.909083 | 487 |
| BX03464 | Grand Concourse | E 174 St | 40.84557, -73.910997 | 487 |
| BX03366 | Morris Av | E 169 St | 40.83509, -73.913145 | 477 |
| BX03155 | E 149 St | Morris Av | 40.817602, -73.923121 | 476 |
| BX03159 | E 163 St | Fox St | 40.820875, -73.893598 | 464 |
| BX03159 | E 163 St | Fox St | 40.820875, -73.893598 | 464 |
| BX03159 | E 163 St | Fox St | 40.820875, -73.893598 | 464 |
| BX03407 | E 180 St | Crotona Av | 40.84789, -73.888546 | 454 |
| BX03021 | Grand Concourse | E Burnside Av | 40.852697, -73.903721 | 451 |
| BX0318 | Grand Concourse | E 179 St | 40.851268, -73.904864 | 451 |
| BX03227 | Grand Concourse | E 181 St | 40.854319, -73.902407 | 451 |
| BX03021 | Grand Concourse | E Burnside Av | 40.852697, -73.903721 | 451 |
| BX0318 | Grand Concourse | E 179 St | 40.851268, -73.904864 | 451 |
| BX03227 | Grand Concourse | E 181 St | 40.854319, -73.902407 | 451 |
| BX0245 | Southern Blvd | E 156 St | 40.81474, -73.898014 | 449 |
| BX9016 | Prospect Av | E 156 St | 40.817583, -73.902357 | 449 |
| BS3001 | E Kingsbridge @ Briggs Avenue | @ Briggs Avenue | 40.8628, -73.894 | 448 |
| BX0077 | E Fordham Rd | Grand Concourse | 40.862491, -73.896531 | 448 |
| BX03035 | E Kingsbridge Rd | E 192 St | 40.863826, -73.894152 | 448 |
| BX9004 | E Kingsbridge Rd | E 192 St | 40.863453, -73.894371 | 448 |
| BX9026 | Valentine Av | E Fordham Rd | 40.862469, -73.895861 | 448 |
| BX03125 | E Burnside Av | Jerome Av | 40.853609, -73.907038 | 446 |
| BX03125 | E Burnside Av | Jerome Av | 40.853609, -73.907038 | 446 |
| BX03274 | W Burnside Av | University Av | 40.853841, -73.912803 | 441 |
| BX03200 | Williamsbridge Rd | E Tremont Av | 40.842439, -73.844517 | 435 |
| BX03607 | E Tremont Av | St Raymond’s Av | 40.843164, -73.846251 | 435 |
| BX0302 | W 170 St | Edward L Grant Hwy | 40.840257, -73.921854 | 431 |
| BX03082 | Grand Concourse | E 161 St | 40.826363, -73.923102 | 429 |
| BX03548 | Grand Concourse | E 158 St | 40.825101, -73.923856 | 429 |
| BX03082 | Grand Concourse | E 161 St | 40.826363, -73.923102 | 429 |
| BX03548 | Grand Concourse | E 158 St | 40.825101, -73.923856 | 429 |
| BX0052 | Prospect Av | E 169 St | 40.829249, -73.897773 | 423 |
| BX03096 | Boston Rd | Prospect Av | 40.833488, -73.896687 | 423 |
| BX03504 | Prospect Av | Boston Rd | 40.833677, -73.896573 | 423 |
| BX0052 | Prospect Av | E 169 St | 40.829249, -73.897773 | 423 |
| BX03096 | Boston Rd | Prospect Av | 40.833488, -73.896687 | 423 |
| BX03504 | Prospect Av | Boston Rd | 40.833677, -73.896573 | 423 |
| BX03579 | Morrison Av | Westchester Av | 40.829348, -73.874376 | 407 |
| BX03580 | Morrison Av | Westchester Av | 40.829134, -73.874597 | 407 |
| BX03579 | Morrison Av | Westchester Av | 40.829348, -73.874376 | 407 |
| BX03580 | Morrison Av | Westchester Av | 40.829134, -73.874597 | 407 |
| BX0076 | E Fordham Rd | E 190 St | 40.86251, -73.897871 | 404 |
| BX03024 | Grand Concourse | E Kingsbridge Rd | 40.865843, -73.894881 | 404 |
| MN01353 | Broadway | W 135 St | 40.81985, -73.955505 | 403 |
| MN01353 | Broadway | W 135 St | 40.81985, -73.955505 | 403 |
| BS3002 | Grand Concourse @ E Tremont Ave | @ E Tremont Ave | 40.84958, -73.90647 | 403 |
| BX03457 | Grand Concourse | E 177 St | 40.849012, -73.9067 | 403 |
| BS3002 | Grand Concourse @ E Tremont Ave | @ E Tremont Ave | 40.84958, -73.90647 | 403 |
| BX03457 | Grand Concourse | E 177 St | 40.849012, -73.9067 | 403 |
| BX0251 | Hunts Point Av | Coster St | 40.816343, -73.887998 | 394 |
| BX0251 | Hunts Point Av | Coster St | 40.816343, -73.887998 | 394 |
| MN01704 | Grand St | Suffolk St | 40.716392, -73.987786 | 391 |
| MN01704 | Grand St | Suffolk St | 40.716392, -73.987786 | 391 |
| MN01077 | Madison St | Clinton St | 40.712858, -73.986483 | 386 |
| MN01204 | Madison St | Montgomery St | 40.713104, -73.985512 | 386 |
| MN01077 | Madison St | Clinton St | 40.712858, -73.986483 | 386 |
| MN01204 | Madison St | Montgomery St | 40.713104, -73.985512 | 386 |
| MN01077 | Madison St | Clinton St | 40.712858, -73.986483 | 386 |
| MN01204 | Madison St | Montgomery St | 40.713104, -73.985512 | 386 |
| BX03323 | Grand Concourse | E 165 St | 40.831366, -73.919914 | 384 |
| BX03043 | 3rd Av Between E 183 St & E 182 St | Between E 183 St & E 182 St | 40.8539, -73.8911 | 363 |
| BX03043 | 3rd Av Between E 183 St & E 182 St | Between E 183 St & E 182 St | 40.8539, -73.8911 | 363 |
| BX03043 | 3rd Av Between E 183 St & E 182 St | Between E 183 St & E 182 St | 40.8539, -73.8911 | 363 |
| BX0259 | Hunts Point Av | Seneca Av | 40.818831, -73.889164 | 358 |
| BX03565 | Hunts Point Av | Lafayette Av | 40.816963, -73.88803 | 358 |
| BX03560 | E 180 St | Webster Av | 40.85209, -73.897733 | 348 |
| BX03594 | Webster Av | E Tremont Av | 40.848087, -73.900912 | 348 |
| BX03595 | Webster Av | E Tremont Av | 40.848131, -73.900893 | 348 |
| BX9022 | Webster Av | Valentine Av | 40.84853, -73.900634 | 348 |
| BX03560 | E 180 St | Webster Av | 40.85209, -73.897733 | 348 |
| BX03594 | Webster Av | E Tremont Av | 40.848087, -73.900912 | 348 |
| BX03595 | Webster Av | E Tremont Av | 40.848131, -73.900893 | 348 |
| BX9022 | Webster Av | Valentine Av | 40.84853, -73.900634 | 348 |
| BX03588 | E 138 St | St Anns Av | 40.806589, -73.91717 | 341 |
| BX03260 | Grand Concourse | Minerva Pl | 40.870506, -73.890867 | 339 |
| BX9015 | Grand Concourse | Bedford Park Blvd | 40.871989, -73.888371 | 339 |
| BX03316 | Ogden Av | University Av | 40.843903, -73.923748 | 334 |
| BX03005 | E 149 St | Jackson Av | 40.813059, -73.90877 | 321 |
| BX03143 | E 149 St | Trinity Av | 40.813379, -73.910293 | 321 |
| BX03144 | E 149 St | Wales Av | 40.812692, -73.906951 | 321 |
| BX03066 | Sedgwick Av | W Tremont Av | 40.852757, -73.918663 | 321 |
| BX03230 | W Tremont Av | Montgomery Av | 40.851857, -73.916683 | 321 |
| BX03066 | Sedgwick Av | W Tremont Av | 40.852757, -73.918663 | 321 |
| BX03230 | W Tremont Av | Montgomery Av | 40.851857, -73.916683 | 321 |
| BX03002 | E 149 St | Trinity Av | 40.813636, -73.910427 | 320 |
| BX03451 | E 149 St | Concord Av | 40.813214, -73.908523 | 320 |
| BX03192 | Pelham Pkwy North | White Plains Rd | 40.857362, -73.867257 | 313 |
| BX03320 | White Plains Rd | Pelham Pkwy North | 40.857119, -73.867481 | 313 |
| BX03520 | Pelham Pkwy | White Plains Rd | 40.856732, -73.866976 | 313 |
| BX03521 | Pelham Pkwy | White Plains Rd | 40.856735, -73.867035 | 313 |
| BX0050 | Boston Rd | Southern Blvd | 40.836882, -73.888383 | 301 |
| BX03448 | Boston Rd | Seabury Pl | 40.835793, -73.890448 | 301 |
| BX03608 | E 172 St | Southern Blvd | 40.834273, -73.890089 | 301 |
| BXMN386 | Boston Rd | Southern Blvd | 40.83718, -73.888298 | 301 |
| MN01426 | W 155 St | Edgecombe Av | 40.830755, -73.940768 | 291 |
| MN01428 | Edgecombe Av | W 155 St | 40.830838, -73.940479 | 291 |
| MN01450 | W 155 St | Amsterdam Av | 40.83155, -73.94266 | 291 |
| MN0925 | Edgecombe Av | W 158 St | 40.832457, -73.939932 | 291 |
| MN9030 | Amsterdam Av | W 155 St | 40.831826, -73.942644 | 291 |
| BX03057 | Morris Av | E 165 St | 40.829117, -73.916617 | 290 |
| BX03614 | E 161st St | @ Sheridan Ave (Half Of Dble Shelter) | 40.82639, -73.920855 | 290 |
| BX03615 | E 161st St | @ Sheridan Ave (Half Of Dble Shelter) | 40.82639, -73.920855 | 290 |
| BX03057 | Morris Av | E 165 St | 40.829117, -73.916617 | 290 |
| BX03614 | E 161st St | @ Sheridan Ave (Half Of Dble Shelter) | 40.82639, -73.920855 | 290 |
| BX03615 | E 161st St | @ Sheridan Ave (Half Of Dble Shelter) | 40.82639, -73.920855 | 290 |
| BX03135 | E Tremont Av | Arthur Av | 40.845973, -73.892457 | 286 |
| BX03135 | E Tremont Av | Arthur Av | 40.845973, -73.892457 | 286 |
| BX03132 | E 174 St | Manor Av | 40.83374, -73.877039 | 286 |
| BX03013 | Southern Blvd | Longwood Av | 40.816587, -73.895787 | 280 |
| BX03079 | Southern Blvd | Tiffany St | 40.81856, -73.893741 | 280 |
| BX03330 | Hunts Point Av | Southern Blvd | 40.820622, -73.891357 | 280 |
| BX03334 | Southern Blvd | Hunts Point Av | 40.820664, -73.891643 | 280 |
| BX03348 | Hunts Point Av | Southern Blvd | 40.820588, -73.891318 | 280 |
| BX03397 | Southern Blvd | Hunts Point Av | 40.820626, -73.891663 | 280 |
| BX03420 | Southern Blvd | E 163 St | 40.820539, -73.892049 | 280 |
| BX03271 | Broadway | Exterior St | 40.876487, -73.906691 | 279 |
| BX9012 | Broadway | W 234 St | 40.881518, -73.902806 | 279 |
| MN01110 | Broadway | W 168 St | 40.841283, -73.939848 | 246 |
| MN01408 | Ft Washington Av | W 168 St | 40.842338, -73.94211 | 246 |
| MN01579 | Ft Washington Av | W 165 St | 40.840486, -73.942848 | 246 |
| MN0332 | Broadway | W 167 St | 40.840289, -73.940096 | 246 |
| BX03061 | Grand Concourse | E 161 St | 40.826384, -73.922704 | 246 |
| BX03329 | Grand Concourse | E 156 St | 40.823622, -73.924233 | 246 |
| BX03061 | Grand Concourse | E 161 St | 40.826384, -73.922704 | 246 |
| BX03329 | Grand Concourse | E 156 St | 40.823622, -73.924233 | 246 |
| BX0414 | Watson Av | Rosedale Av & Noble Av | 40.827461, -73.868607 | 246 |
| BX0414 | Watson Av | Rosedale Av & Noble Av | 40.827461, -73.868607 | 246 |
| BX03510 | W Fordham Rd | Cedar Av | 40.861588, -73.911499 | 243 |
| BX03512 | W Fordham Rd | Cedar Av | 40.861797, -73.911422 | 243 |
| BX03544 | W Fordham Rd | Sedgwick Av | 40.86245, -73.909344 | 243 |
| BX03367 | E Tremont Av | Devoe Av | 40.840077, -73.877143 | 189 |
| BX03390 | Morris Park Av | Melville St | 40.843257, -73.870986 | 189 |
| BX03367 | E Tremont Av | Devoe Av | 40.840077, -73.877143 | 189 |
| BX03390 | Morris Park Av | Melville St | 40.843257, -73.870986 | 189 |
| BX03367 | E Tremont Av | Devoe Av | 40.840077, -73.877143 | 189 |
| BX03390 | Morris Park Av | Melville St | 40.843257, -73.870986 | 189 |
| BX03203 | West Farms Rd | Westchester Av | 40.825224, -73.891469 | 178 |
| BX03203 | West Farms Rd | Westchester Av | 40.825224, -73.891469 | 178 |
| BX0053 | Southern Blvd | Westchester Av | 40.824126, -73.892014 | 176 |
| BX03158 | E 163 St | Simpson St | 40.82107, -73.893158 | 176 |
| BX0053 | Southern Blvd | Westchester Av | 40.824126, -73.892014 | 176 |
| BX03158 | E 163 St | Simpson St | 40.82107, -73.893158 | 176 |
| BX03042 | Bedford Park Blvd | Webster Av | 40.866898, -73.883486 | 172 |
| BX03508 | E Fordham Rd | 3 Av | 40.861331, -73.890443 | 172 |
| BX03554 | Webster Av | Bedford Park Blvd | 40.86705, -73.883745 | 172 |
| BX03592 | Webster Av | E Fordham Rd | 40.86215, -73.89051 | 172 |
| BX03593 | Webster Av | E Fordham Rd | 40.862117, -73.890559 | 172 |
| BX0293 | Grand Concourse | Mt Eden Av East | 40.843525, -73.911548 | 159 |
The entire table can be copied and pasted into a spreadsheet and will retain its formatting.